<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>PHP QrCode Liblary: QRspec Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">PHP QrCode Liblary
   &#160;<span id="projectnumber">2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="class_q_rspec-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">QRspec Class Reference<div class="ingroups"><a class="el" href="group___core_group.html">Standard API Core</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>QR-Code specification and Code Frame handling.  
 <a href="class_q_rspec.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a1383f2d578a23a3086ad9e0be6f54733"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#a1383f2d578a23a3086ad9e0be6f54733">getDataLength</a> ($version, $level)</td></tr>
<tr class="memdesc:a1383f2d578a23a3086ad9e0be6f54733"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates data length for specified code configuration.  <a href="#a1383f2d578a23a3086ad9e0be6f54733">More...</a><br/></td></tr>
<tr class="separator:a1383f2d578a23a3086ad9e0be6f54733"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82a8dd01287901cc540fe36f323c3082"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#a82a8dd01287901cc540fe36f323c3082">getECCLength</a> ($version, $level)</td></tr>
<tr class="memdesc:a82a8dd01287901cc540fe36f323c3082"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates count of Error Correction Codes for specified code configuration.  <a href="#a82a8dd01287901cc540fe36f323c3082">More...</a><br/></td></tr>
<tr class="separator:a82a8dd01287901cc540fe36f323c3082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cd893740237966f1c37aa4a8a0ef4de"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#a6cd893740237966f1c37aa4a8a0ef4de">getWidth</a> ($version)</td></tr>
<tr class="memdesc:a6cd893740237966f1c37aa4a8a0ef4de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets pixel width of code.  <a href="#a6cd893740237966f1c37aa4a8a0ef4de">More...</a><br/></td></tr>
<tr class="separator:a6cd893740237966f1c37aa4a8a0ef4de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad63500d0c855f2ca98e956081d3a89c5"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#ad63500d0c855f2ca98e956081d3a89c5">getRemainder</a> ($version)</td></tr>
<tr class="memdesc:ad63500d0c855f2ca98e956081d3a89c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets reminder chars length.  <a href="#ad63500d0c855f2ca98e956081d3a89c5">More...</a><br/></td></tr>
<tr class="separator:ad63500d0c855f2ca98e956081d3a89c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a352c2a30f35805dd6c872e5b7ae4923e"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#a352c2a30f35805dd6c872e5b7ae4923e">getMinimumVersion</a> ($size, $level)</td></tr>
<tr class="memdesc:a352c2a30f35805dd6c872e5b7ae4923e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds minimal code version capable of hosting specified data length.  <a href="#a352c2a30f35805dd6c872e5b7ae4923e">More...</a><br/></td></tr>
<tr class="separator:a352c2a30f35805dd6c872e5b7ae4923e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a905c404a1e1bb68db349020d4a425f98"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a905c404a1e1bb68db349020d4a425f98"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>lengthIndicator</b> ($mode, $version)</td></tr>
<tr class="separator:a905c404a1e1bb68db349020d4a425f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ad138dab8ac8d521750050343c9cea0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ad138dab8ac8d521750050343c9cea0"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>maximumWords</b> ($mode, $version)</td></tr>
<tr class="separator:a4ad138dab8ac8d521750050343c9cea0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adec864f3fc83e29e1dad6d2901af6c1a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adec864f3fc83e29e1dad6d2901af6c1a"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>getEccSpec</b> ($version, $level, array &amp;$spec)</td></tr>
<tr class="separator:adec864f3fc83e29e1dad6d2901af6c1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42ea00fd9ba26c421c690a19da3d2a42"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#a42ea00fd9ba26c421c690a19da3d2a42">putAlignmentMarker</a> (array &amp;$frame, $ox, $oy)</td></tr>
<tr class="memdesc:a42ea00fd9ba26c421c690a19da3d2a42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts an alignment marker.  <a href="#a42ea00fd9ba26c421c690a19da3d2a42">More...</a><br/></td></tr>
<tr class="separator:a42ea00fd9ba26c421c690a19da3d2a42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2574099ff783365fa96bebc759db2dba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2574099ff783365fa96bebc759db2dba"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>putAlignmentPattern</b> ($version, &amp;$frame, $width)</td></tr>
<tr class="separator:a2574099ff783365fa96bebc759db2dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2a31b34fc3c8a71e80663405fcae9ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2a31b34fc3c8a71e80663405fcae9ec"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>getVersionPattern</b> ($version)</td></tr>
<tr class="separator:ae2a31b34fc3c8a71e80663405fcae9ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5773b7e1b3e7c6285e1a7ac63a0a9829"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5773b7e1b3e7c6285e1a7ac63a0a9829"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>getFormatInfo</b> ($mask, $level)</td></tr>
<tr class="separator:a5773b7e1b3e7c6285e1a7ac63a0a9829"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add4d1d16648b00be6105861418d6f946"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#add4d1d16648b00be6105861418d6f946">putFinderPattern</a> (&amp;$frame, $ox, $oy)</td></tr>
<tr class="memdesc:add4d1d16648b00be6105861418d6f946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Put a finder pattern.  <a href="#add4d1d16648b00be6105861418d6f946">More...</a><br/></td></tr>
<tr class="separator:add4d1d16648b00be6105861418d6f946"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e9fb0e5db982d135f36da8e6c095c3d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e9fb0e5db982d135f36da8e6c095c3d"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>createFrame</b> ($version)</td></tr>
<tr class="separator:a2e9fb0e5db982d135f36da8e6c095c3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e597199e2a6a4e04ba44a1ec1a8f7be"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#a2e597199e2a6a4e04ba44a1ec1a8f7be">debug</a> ($frame, $binary_mode=false)</td></tr>
<tr class="memdesc:a2e597199e2a6a4e04ba44a1ec1a8f7be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dumps debug HTML of frame.  <a href="#a2e597199e2a6a4e04ba44a1ec1a8f7be">More...</a><br/></td></tr>
<tr class="separator:a2e597199e2a6a4e04ba44a1ec1a8f7be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0efcd2f1dd61e54611feeab74d4972e3"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#a0efcd2f1dd61e54611feeab74d4972e3">serial</a> ($frame)</td></tr>
<tr class="memdesc:a0efcd2f1dd61e54611feeab74d4972e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes frame.  <a href="#a0efcd2f1dd61e54611feeab74d4972e3">More...</a><br/></td></tr>
<tr class="separator:a0efcd2f1dd61e54611feeab74d4972e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfc4c308b6fd7720a200c139997c336d"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#abfc4c308b6fd7720a200c139997c336d">unserial</a> ($code)</td></tr>
<tr class="memdesc:abfc4c308b6fd7720a200c139997c336d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserializes frame.  <a href="#abfc4c308b6fd7720a200c139997c336d">More...</a><br/></td></tr>
<tr class="separator:abfc4c308b6fd7720a200c139997c336d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad335ca10897935b829adb03e638c5f8a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad335ca10897935b829adb03e638c5f8a"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>newFrame</b> ($version)</td></tr>
<tr class="separator:ad335ca10897935b829adb03e638c5f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa927b92e77df1f2034913b9e1963986c"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#aa927b92e77df1f2034913b9e1963986c">set</a> (&amp;$frame, $x, $y, $repl, $replLen=false)</td></tr>
<tr class="memdesc:aa927b92e77df1f2034913b9e1963986c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets code frame with speciffied code.  <a href="#aa927b92e77df1f2034913b9e1963986c">More...</a><br/></td></tr>
<tr class="separator:aa927b92e77df1f2034913b9e1963986c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Reed-Solomon related shorthand getters.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Syntax-sugar to access code speciffication by getter name, not by spec array field. </p>
</div></td></tr>
<tr class="memitem:a7cd7d64f5758e604d04e831afd6acc40"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7cd7d64f5758e604d04e831afd6acc40"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>rsBlockNum</b> ($spec)</td></tr>
<tr class="separator:a7cd7d64f5758e604d04e831afd6acc40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ea65a452423570fd05f873217fc6278"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ea65a452423570fd05f873217fc6278"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>rsBlockNum1</b> ($spec)</td></tr>
<tr class="separator:a8ea65a452423570fd05f873217fc6278"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a551fe2bbd543383c6ac9e84780b16e61"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a551fe2bbd543383c6ac9e84780b16e61"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>rsDataCodes1</b> ($spec)</td></tr>
<tr class="separator:a551fe2bbd543383c6ac9e84780b16e61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3add4dd3b7f003bc06825c3d946db2fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3add4dd3b7f003bc06825c3d946db2fa"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>rsEccCodes1</b> ($spec)</td></tr>
<tr class="separator:a3add4dd3b7f003bc06825c3d946db2fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7f379c18b247d1e56fed26f899b386a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7f379c18b247d1e56fed26f899b386a"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>rsBlockNum2</b> ($spec)</td></tr>
<tr class="separator:aa7f379c18b247d1e56fed26f899b386a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a358a8eff39e33d107ff4141873fe5d73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a358a8eff39e33d107ff4141873fe5d73"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>rsDataCodes2</b> ($spec)</td></tr>
<tr class="separator:a358a8eff39e33d107ff4141873fe5d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8da9e062ee2b6d42a90dc65dc286ae6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8da9e062ee2b6d42a90dc65dc286ae6"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>rsEccCodes2</b> ($spec)</td></tr>
<tr class="separator:ab8da9e062ee2b6d42a90dc65dc286ae6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bff24832b3ada71159923d11efcc01d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2bff24832b3ada71159923d11efcc01d"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>rsDataLength</b> ($spec)</td></tr>
<tr class="separator:a2bff24832b3ada71159923d11efcc01d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff6d01394e63df4245df517bb27d4cb3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff6d01394e63df4245df517bb27d4cb3"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><b>rsEccLength</b> ($spec)</td></tr>
<tr class="separator:aff6d01394e63df4245df517bb27d4cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a06d5041b769d282d2aba89f62489a7f6"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#a06d5041b769d282d2aba89f62489a7f6">$capacity</a></td></tr>
<tr class="memdesc:a06d5041b769d282d2aba89f62489a7f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Array specifying properties of QR-Code "versions".  <a href="#a06d5041b769d282d2aba89f62489a7f6">More...</a><br/></td></tr>
<tr class="separator:a06d5041b769d282d2aba89f62489a7f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1d89058efcba90b0c4cc3167091821e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1d89058efcba90b0c4cc3167091821e"></a>
static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#ab1d89058efcba90b0c4cc3167091821e">$lengthTableBits</a></td></tr>
<tr class="memdesc:ab1d89058efcba90b0c4cc3167091821e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length bits Table. <br/></td></tr>
<tr class="separator:ab1d89058efcba90b0c4cc3167091821e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec9511c28655d096df8f32c35dd3d61d"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#aec9511c28655d096df8f32c35dd3d61d">$eccTable</a></td></tr>
<tr class="memdesc:aec9511c28655d096df8f32c35dd3d61d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Table of the error correction code (Reed-Solomon block).  <a href="#aec9511c28655d096df8f32c35dd3d61d">More...</a><br/></td></tr>
<tr class="separator:aec9511c28655d096df8f32c35dd3d61d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd40195ffc6a3782988ca624aba9da4d"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#afd40195ffc6a3782988ca624aba9da4d">$alignmentPattern</a></td></tr>
<tr class="memdesc:afd40195ffc6a3782988ca624aba9da4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Positions of alignment patterns.  <a href="#afd40195ffc6a3782988ca624aba9da4d">More...</a><br/></td></tr>
<tr class="separator:afd40195ffc6a3782988ca624aba9da4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedf92f29cde670d8db8d13c6c514734f"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#aedf92f29cde670d8db8d13c6c514734f">$versionPattern</a></td></tr>
<tr class="memdesc:aedf92f29cde670d8db8d13c6c514734f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version information pattern (BCH coded).  <a href="#aedf92f29cde670d8db8d13c6c514734f">More...</a><br/></td></tr>
<tr class="separator:aedf92f29cde670d8db8d13c6c514734f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28416e86061d76b7db1f214fe076b438"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#a28416e86061d76b7db1f214fe076b438">$formatInfo</a></td></tr>
<tr class="memdesc:a28416e86061d76b7db1f214fe076b438"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format information.  <a href="#a28416e86061d76b7db1f214fe076b438">More...</a><br/></td></tr>
<tr class="separator:a28416e86061d76b7db1f214fe076b438"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9134036b989a0c33be5423aea2542820"><td class="memItemLeft" align="right" valign="top">static&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_rspec.html#a9134036b989a0c33be5423aea2542820">$frames</a> = array()</td></tr>
<tr class="memdesc:a9134036b989a0c33be5423aea2542820"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cache of initial frames.  <a href="#a9134036b989a0c33be5423aea2542820">More...</a><br/></td></tr>
<tr class="separator:a9134036b989a0c33be5423aea2542820"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>QR-Code specification and Code Frame handling. </p>
<p>Contains code specifications, calculates base frame, code structure and base properties </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a2e597199e2a6a4e04ba44a1ec1a8f7be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::debug </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$binary_mode</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Dumps debug HTML of frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">Array</td><td class="paramname">$frame</td><td>code frame </td></tr>
    <tr><td class="paramtype">Boolean</td><td class="paramname">$binary_mode</td><td>in binary mode only contents is dumped, without styling </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1383f2d578a23a3086ad9e0be6f54733"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::getDataLength </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$version</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$level</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Calculates data length for specified code configuration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">Integer</td><td class="paramname">$version</td><td>Code version </td></tr>
    <tr><td class="paramtype">Integer</td><td class="paramname">$level</td><td>ECC level </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Code data capacity </dd></dl>

</div>
</div>
<a class="anchor" id="a82a8dd01287901cc540fe36f323c3082"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::getECCLength </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$version</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$level</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Calculates count of Error Correction Codes for specified code configuration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">Integer</td><td class="paramname">$version</td><td>Code version </td></tr>
    <tr><td class="paramtype">Integer</td><td class="paramname">$level</td><td>ECC level </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ECC code count </dd></dl>

</div>
</div>
<a class="anchor" id="a352c2a30f35805dd6c872e5b7ae4923e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::getMinimumVersion </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$level</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds minimal code version capable of hosting specified data length. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">Integer</td><td class="paramname">$size</td><td>amount of raw data </td></tr>
    <tr><td class="paramtype">Integer</td><td class="paramname">$level</td><td>ECC level </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>code version capable of hosting specified amount of data at specified ECC level </dd></dl>

</div>
</div>
<a class="anchor" id="ad63500d0c855f2ca98e956081d3a89c5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::getRemainder </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$version</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets reminder chars length. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">Integer</td><td class="paramname">$version</td><td>Code version </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reminder length </dd></dl>

</div>
</div>
<a class="anchor" id="a6cd893740237966f1c37aa4a8a0ef4de"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::getWidth </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$version</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets pixel width of code. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">Integer</td><td class="paramname">$version</td><td>Code version </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Code width, in pixels </dd></dl>

</div>
</div>
<a class="anchor" id="a42ea00fd9ba26c421c690a19da3d2a42"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::putAlignmentMarker </td>
          <td>(</td>
          <td class="paramtype">array &amp;&#160;</td>
          <td class="paramname"><em>$frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$ox</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$oy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Puts an alignment marker. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">frame</td><td></td></tr>
    <tr><td class="paramname">width</td><td></td></tr>
    <tr><td class="paramname">ox,oy</td><td>center coordinate of the pattern </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="add4d1d16648b00be6105861418d6f946"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::putFinderPattern </td>
          <td>(</td>
          <td class="paramtype">&amp;&#160;</td>
          <td class="paramname"><em>$frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$ox</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$oy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Put a finder pattern. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">frame</td><td></td></tr>
    <tr><td class="paramname">width</td><td></td></tr>
    <tr><td class="paramname">ox,oy</td><td>upper-left coordinate of the pattern </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0efcd2f1dd61e54611feeab74d4972e3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::serial </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$frame</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Serializes frame. </p>
<p>Create compressed, serialized version of frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">Array</td><td class="paramname">$frame</td><td>Code Frame </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>String binary compresed Code Frame </dd></dl>

</div>
</div>
<a class="anchor" id="aa927b92e77df1f2034913b9e1963986c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::set </td>
          <td>(</td>
          <td class="paramtype">&amp;&#160;</td>
          <td class="paramname"><em>$frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$repl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$replLen</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets code frame with speciffied code. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">Array</td><td class="paramname">$frame</td><td>target frame (modified by reference) </td></tr>
    <tr><td class="paramtype">Integer</td><td class="paramname">$x</td><td>X-axis position of replacement </td></tr>
    <tr><td class="paramtype">Integer</td><td class="paramname">$y</td><td>Y-axis position of replacement </td></tr>
    <tr><td class="paramtype">Byte</td><td class="paramname">$repl</td><td>replacement string </td></tr>
    <tr><td class="paramtype">Integer</td><td class="paramname">$replLen</td><td>(optional) replacement string length, when <b>Integer</b> &gt; 1 subset of given $repl is used, when <b>false</b> whole $repl is used </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abfc4c308b6fd7720a200c139997c336d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static QRspec::unserial </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$code</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Deserializes frame. </p>
<p>Loads frame from serialized compressed binary </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">String</td><td class="paramname">$code</td><td>binary, GZipped, serialized frame </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Array Code Frame array </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="afd40195ffc6a3782988ca624aba9da4d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">QRspec::$alignmentPattern</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Positions of alignment patterns. </p>
<p>This array includes only the second and the third position of the lignment patterns. Rest of them can be calculated from the distance between them.</p>
<dl class="section see"><dt>See Also</dt><dd>Table 1 in Appendix E (pp.71) of JIS X0510:2004. </dd></dl>

</div>
</div>
<a class="anchor" id="a06d5041b769d282d2aba89f62489a7f6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">QRspec::$capacity</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Array specifying properties of QR-Code "versions". </p>
<p>Each so-called version has specified code area size and capacity. There are 40 versions, this table specifies for each of them four parameters:</p>
<ul>
<li>Integer <b>QRCAP_WIDTH</b> - size of code in pixels</li>
<li>Integer <b>QRCAP_WORDS</b> - code capacity, in words</li>
<li>Integer <b>QRCAP_REMINDER</b> - remainder words</li>
<li>Array of Integers <b>QRCAP_EC</b> - RS correction code count for each of four ECC levels </li>
</ul>

</div>
</div>
<a class="anchor" id="aec9511c28655d096df8f32c35dd3d61d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">QRspec::$eccTable</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Table of the error correction code (Reed-Solomon block). </p>
<dl class="section see"><dt>See Also</dt><dd>Table 12-16 (pp.30-36), JIS X0510:2004. </dd></dl>

</div>
</div>
<a class="anchor" id="a28416e86061d76b7db1f214fe076b438"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">QRspec::$formatInfo</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Format information. </p>
<dl class="section see"><dt>See Also</dt><dd>calcFormatInfo in tests/test_qrspec.c (orginal qrencode c lib) </dd></dl>

</div>
</div>
<a class="anchor" id="a9134036b989a0c33be5423aea2542820"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">QRspec::$frames = array()</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Cache of initial frames. </p>

</div>
</div>
<a class="anchor" id="aedf92f29cde670d8db8d13c6c514734f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">QRspec::$versionPattern</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Version information pattern (BCH coded). </p>
<p>size: [QRSPEC_VERSION_MAX - 6] </p>
<dl class="section see"><dt>See Also</dt><dd>Table 1 in Appendix D (pp.68) of JIS X0510:2004. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>lib/full/qrspec.php</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun May 26 2013 14:47:13 for PHP QrCode Liblary by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>
